#ifndef GAME_MANAGER_H  // Inclusion guard.
#define GAME_MANAGER_H

// I N C L U D E S
// ===============

#include "GCPtr.h"
#include "kernel.h"
#include "kernelTask.h"
#include "UpdateTimer.h"
#include "input.h"
#include "Renderer2d.h"
#include "Net_Client.h"
#include "LogSys.h"
#include "Unit.h"
#include "ResourceManager.h"

class CGameManager : public IKernelTask
{
public:
	CGameManager(CKernel *inKernel, long lPriority = 3000);
	~CGameManager();

	bool Start();
	void Stop();
	void Update();

private:
	CKernel* kernel;

	GCPtr<IKernelTask> updateTimer;
	GCPtr<IKernelTask> input;
	GCPtr<IKernelTask> renderer2d;
	GCPtr<IKernelTask> netClient;

	int waitCounter;

	CUnit* player;

	CUnit* AnI; // Artificial no Intelligence
};

#endif  // END Inclusion guard.
